home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMIBEST1.ADF / AmigaBasicStuff / BasicGadgets / Listing4 < prev    next >
Text File  |  1987-07-22  |  2KB  |  84 lines

  1. ' Listing #4
  2. ' Part 4 of 4, Amiga Basic gadget subprograms (Demo)
  3. ' Demonstration of using Gadgets in Amiga Basic
  4. '
  5. ' Bryan D. Catley, September 1986
  6. '
  7. gdgt=0:NumGdgts=16
  8. GdgtA%=0:GdgtB%=0
  9. DIM Gdgts(NumGdgts-1,6),GdgtTxt$(NumGdgts-1)
  10. BldGdgts NumGdgts,Gdgts(),GdgtTxt$()
  11.  
  12. ' Gadget Descriptions
  13. REM    X    Y   X+   Y+  BG  FG  Sh  Text          
  14. DATA 184,  24,  48,  24,  1, 17,  2, "More" 
  15. DATA 248,  24,  48,  24,  1,  5,  2, "Quit"
  16. DATA  28,  76,  16,  16,  7, 17,  5, "Q"
  17. DATA 140, 108, 120,  16,  0,  2,  1, "  A Long One"
  18. DATA 216,  64,  64,  24,  4,  5,  0, "  XX"
  19. DATA  38, 158, 164,  12,  0,  1, -1, "" 
  20. DATA 196,  28,  56,  16,  1, 17,  2, "Repeat"
  21. DATA 260,  28,  40,  16,  1,  5,  2, "Quit"
  22. DATA  12,  92,  46,  16,  7,  5,  2, "Type1" 
  23. DATA  60,  92,  46,  16,  1,  0,  2, "Type2"
  24. DATA 108,  92,  46,  16,  1,  0,  2, "Type3"
  25. DATA 156,  92,  46,  16,  1,  0,  2, "Type4"
  26. DATA 204,  92,  46,  16,  1,  0,  2, "Type5"
  27. DATA 252,  92,  46,  16,  7, 17,  2, "Type6"
  28. DATA 118, 158, 180,  12,  7,  4, -1, ""
  29. DATA  38, 126, 124,  12,  3,  3, -2, "No Change"
  30.  
  31. SCREEN 2,320,200,5,1
  32. WINDOW 2,,,16,2
  33. ON MOUSE GOSUB GetMouse:MOUSE ON
  34.  
  35. FirstOne:
  36. COLOR 3,25:CLS:LOCATE 1,11:PRINT"AMIGA BASIC GADGETS"
  37. LINE(0,16)-(312,16),2
  38. COLOR 2,25:LOCATE 5,1:PRINT"These are real Gadgets"
  39. DrawGdgts 0,1,Gdgts(),GdgtTxt$()
  40. LINE(0,56)-(312,56),2
  41. CALL DrawGdgts (2,5,Gdgts(),GdgtTxt$())
  42. COLOR 2,0:LOCATE 21,6:PRINT"Some text to change.":COLOR 2,4
  43.  
  44. NxtGadget1:
  45. GdgtA%=0:GdgtB%=5:gdgt=0
  46. WHILE gdgt=0:SLEEP:WEND
  47. ON gdgt GOTO SecondOne,Quit,ShoGdgt1,ShoGdgt1,ShoGdgt1,ShoGdgt1
  48.  
  49. ShoGdgt1:
  50. COLOR 2,25:LOCATE 23,19:PRINT SPACE$(15);
  51. LOCATE 23,2:PRINT"You just clicked: ";GdgtTxt$(gdgt-1);
  52. GOTO NxtGadget1
  53.  
  54. SecondOne:
  55. COLOR 7,25:CLS:LOCATE 1,11:PRINT"AMIGA BASIC GADGETS"
  56. LINE(0,16)-(312,16),2
  57. COLOR 2,25:LOCATE 5,7:PRINT"More real Gadgets"
  58. CALL DrawGdgts (6,7,Gdgts(),GdgtTxt$())
  59. LINE(0,56)-(312,56),2
  60. DrawGdgts 8,15,Gdgts(),GdgtTxt$()
  61. COLOR 2,7:LOCATE 21,16:PRINT"More changes...":COLOR 2,4
  62.  
  63. NxtGadget2:
  64. GdgtA%=6:GdgtB%=15:gdgt=0
  65. WHILE gdgt=0:SLEEP:WEND
  66. IF gdgt>2 THEN ShoGdgt2
  67. ON gdgt GOTO FirstOne,Quit
  68.  
  69. ShoGdgt2:
  70. COLOR 2,25:LOCATE 23,19:PRINT SPACE$(15);:gdgt=gdgt-1+7
  71. LOCATE 23,2:PRINT"You just clicked: ";GdgtTxt$(gdgt-1);
  72. GOTO NxtGadget2
  73.  
  74. Quit:
  75. MOUSE OFF
  76. WINDOW CLOSE 2:SCREEN CLOSE 2
  77. END
  78.  
  79. ' Mouse Interrupt Routine
  80. GetMouse:
  81. GetGdgt GdgtA%,GdgtB%,Gdgts(),GdgtTxt$(),gdgt
  82. RETURN
  83.  
  84.